package com.yupi.springbootinit.model.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 工艺单明细（工序路线）
 */
@TableName(value = "process_sheet_step")
@Data
public class ProcessSheetStep implements Serializable {

    /**
     * 主键ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 工艺单ID
     */
    @TableField("process_sheet_id")
    private Long processSheetId;

    /**
     * 工序顺序号（1开始）
     */
    @TableField("sequence_no")
    private Integer sequenceNo;

    /**
     * 工序ID（关联 operation.id）
     */
    @TableField("operation_id")
    private Long operationId;

    /**
     * 工序编码（冗余）
     */
    @TableField("operation_code")
    private String operationCode;

    /**
     * 工序名称（冗余）
     */
    @TableField("operation_name")
    private String operationName;

    /**
     * 是否需检：0-否 1-是
     */
    @TableField("is_inspection_required")
    private Integer isInspectionRequired;

    /**
     * 检验方法
     */
    @TableField("inspection_method")
    private String inspectionMethod;

    /**
     * 判定标准
     */
    @TableField("inspection_criteria")
    private String inspectionCriteria;

    /**
     * 是否外协：0-否 1-是（仅在工艺单中标记）
     */
    @TableField("is_outsourced")
    private Integer isOutsourced;

    /**
     * 该工序的工艺要求/技术要求
     */
    @TableField("process_requirement")
    private String processRequirement;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField("update_time")
    private LocalDateTime updateTime;

    /**
     * 是否删除：0-未删除，1-已删除
     */
    @TableLogic
    @TableField("is_deleted")
    private Integer isDeleted;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}